<?php
/**
 * @author 		: Sergio Martínez
 * @copyright 	: 28-07-2012
 * @todo 		: Modelo base de Ficha
 * @version 	: 2.0
 */
class home extends DB {
	
	public function obtenerUbicaciones() {
		$arr_ubicaciones = array();
		$sql = "SELECT * FROM ubicaciones ORDER BY nombre ASC";
		$resultado = mysql_query($sql);
		while ($row = mysql_fetch_array($resultado)) {
			$arr_ubicaciones[] = array(
				"id" => $row['id'],
				"nombre" => htmlentities($row['nombre']),
				"pertenece" => $row['pertenece_a']
			);
		}
		return json_encode($arr_ubicaciones);
	}
	
	public static function inmueble($inmueble) {
		switch ($inmueble) {
			case 1: $tipo = array("campo","Campo"); break;
			case 2: $tipo = array("casa","Casa"); break;
			case 3: $tipo = array("cochera","Cochera"); break;
			case 4: $tipo = array("departamento","Departamento"); break;
			case 5: $tipo = array("edificio","Edificio"); break;
			case 6: $tipo = array("fondo_de_comercio","Fondo de comercio"); break;
			case 7: $tipo = array("galpon","Galpón"); break;
			case 8: $tipo = array("local","Local"); break;
			case 9: $tipo = array("oficina","Oficina"); break;
			case 10: $tipo = array("ph","PH"); break;
			case 11: $tipo = array("quinta","Quinta"); break;
			case 12: $tipo = array("terreno","Terreno"); break;
			default: $tipo = "error"; break;
		}
		return $tipo;
	}
	
	public function obtenerUltimosPropiedades($ultimos = 4) {
		
		function tipoOperacion($tipo_operacion) {
			switch ($tipo_operacion) {
				case 1: $tipo = "Venta"; break;
				case 2: $tipo = "Alquiler"; break;
				case 3: $tipo = "Reservado"; break;
				case 4: $tipo = "Vendido"; break;
				case 5: $tipo = "Alquilado"; break;
				case 6: $tipo = "Suspendido"; break;
				default: $tipo = "-"; break;
			}
			return $tipo;
		}
		function datosNecesarios($tipo,$query) {
			$result = mysql_query($query);
			$arr_result = array();
			$i=0;
			while ($reg = @mysql_fetch_array($result)) {
				$arr_result[$i]["id"] = (int)$reg["id"];
				$arr_result[$i]["tipo_inmueble"] = home::inmueble($tipo);
				$arr_result[$i]["calle"] = $reg["calle"];
				$arr_result[$i]["altura"] = (int)$reg["altura"];
				$arr_result[$i]["imagen"] = $reg["url"];
				$arr_result[$i]["fk_id_ubicacion"] = (int)$reg["fk_id_ubicacion"];
				$arr_result[$i]["tipo_cambio"] = (int)$reg["tipo_cambio"];
				$arr_result[$i]["precio"] = round((float)$reg["precio"],2);
				$arr_result[$i]["cantidad_ambientes"] = (int)$reg["cantidad_ambientes"];
				$arr_result[$i]["tipo_operacion"] = tipoOperacion((int)$reg["tipo_operacion"]);
				$arr_result[$i]["fecha_publicacion"] = (int)$reg["fecha_publicacion"];
				$arr_result[$i]["ubicacion"] = $reg["locacion"] ." / ". $reg["region"];
				$i++;
			}
			return $arr_result;
		}
		function gen_query($tabla,$tipo) {
			$query = "SELECT c.id, (SELECT url FROM imagenesxinmueble WHERE fk_id_inmueble = c.id AND tipo_inmueble = ".$tipo." AND orden = 1) 'url', c.fk_id_ubicacion, c.calle, c.altura, c.tipo_cambio, c.precio, c.tipo_operacion, c.fecha_publicacion, c.cantidad_ambientes, u.nombre 'locacion', (SELECT nombre FROM ubicaciones WHERE id = u.pertenece_a) 'region' FROM ".$tabla." c, ubicaciones u WHERE c.fk_id_ubicacion = u.id  ORDER BY c.fecha_publicacion DESC LIMIT 4;";
			return $query;
		}
		$querycampo = gen_query("campos",1);
		$querycasa = gen_query("casas",2);
		$querycochera = gen_query("cocheras",3);
		$querygalpon = gen_query("galpones",7);
		$querylocal = gen_query("locales",8);
		$queryph = gen_query("ph",10);
		$queryoficina = gen_query("oficinas",9);
		$queryquinta = gen_query("quintas",11);
		$queryfondo_comercio = gen_query("fondo_comercios",6);
		$queryterreno = gen_query("terrenos",12);
		$querydeptos = "SELECT c.id, (SELECT url FROM imagenesxinmueble WHERE fk_id_inmueble = c.id AND tipo_inmueble = 4 AND orden = 1) 'url', e.calle, e.altura, c.tipo_cambio, c.precio, e.fk_id_ubicacion, c.tipo_operacion, c.fecha_publicacion, c.cantidad_ambientes, u.nombre 'locacion', (SELECT nombre FROM ubicaciones WHERE id = u.pertenece_a) 'region' FROM departamentos c, edificios e, ubicaciones u WHERE c.fk_id_edificio = e.id AND e.fk_id_ubicacion = u.id ORDER BY c.fecha_publicacion DESC LIMIT 4";
		
		$arr_campos = datosNecesarios(1,$querycampo);
		$arr_casas = datosNecesarios(2,$querycasa);
		$arr_cocheras = datosNecesarios(3,$querycochera);
		$arr_deptos = datosNecesarios(4,$querydeptos);
		$arr_fondo_comercios = datosNecesarios(6,$queryfondo_comercio);
		$arr_galpones = datosNecesarios(7,$querygalpon);
		$arr_locales = datosNecesarios(8,$querylocal);
		$arr_oficinas = datosNecesarios(9,$queryoficina);
		$arr_phs = datosNecesarios(10,$queryph);
		$arr_quintas = datosNecesarios(11,$queryquinta);
		$arr_terrenos = datosNecesarios(12,$queryterreno);
		
		$arr_prop = array_merge_recursive($arr_campos,$arr_casas,$arr_cocheras,$arr_deptos,$arr_fondo_comercios,$arr_galpones,$arr_locales,$arr_oficinas,$arr_phs,$arr_quintas,$arr_terrenos);
		function cmp($a, $b) {
		    if ($a["fecha_publicacion"] == $b["fecha_publicacion"]) {
		        return 0;
		    }
		    return ($a["fecha_publicacion"] > $b["fecha_publicacion"]) ? -1 : 1;
		}
		
		usort($arr_prop, "cmp");
		if (count($arr_prop)>4) {
			while (count($arr_prop)>4) {
				array_pop($arr_prop);
			}
		}
		return $arr_prop;
	}
	
	public function obtenerPropiedadesSlider() {
		function datosNecesariosSlider($tipo,$query) {
			$result = mysql_query($query);
			$arr_result = array();
			$i=0;
			while ($reg = @mysql_fetch_array($result)) {
				$arr_result[$i]["id"] = (int)$reg["id"];
				$arr_result[$i]["tipo_inmueble"] = home::inmueble($tipo);
				$arr_result[$i]["informacion_adicional"] = $reg["informacion_adicional"];
				$arr_result[$i]["calle"] = $reg["calle"];
				$arr_result[$i]["altura"] = (int)$reg["altura"];
				$arr_result[$i]["imagen"] = $reg["url"];
				$arr_result[$i]["fk_id_ubicacion"] = (int)$reg["fk_id_ubicacion"];
				$arr_result[$i]["fecha_publicacion"] = (int)$reg["fecha_publicacion"];
				$arr_result[$i]["ubicacion"] = htmlentities($reg["locacion"] ." / ". $reg["region"]);
				$i++;
			}
			return $arr_result;
		}
		function gen_query_slider($tabla,$tipo) {
			$query = "SELECT c.id, (SELECT url FROM imagenesxinmueble WHERE fk_id_inmueble = c.id AND tipo_inmueble = ".$tipo." AND orden = 1) 'url', c.fk_id_ubicacion, c.calle, c.altura, c.informacion_adicional, c.fecha_publicacion,u.nombre 'locacion', (SELECT nombre FROM ubicaciones WHERE id = u.pertenece_a) 'region' FROM ".$tabla." c, ubicaciones u WHERE c.ck_slider = 1 AND c.fk_id_ubicacion = u.id ORDER BY c.fecha_publicacion DESC;";
			return $query;
		}
		$querycampo = gen_query_slider("campos",1);
		$querycasa = gen_query_slider("casas",2);
		$querycochera = gen_query_slider("cocheras",3);
		$querygalpon = gen_query_slider("galpones",7);
		$querylocal = gen_query_slider("locales",8);
		$queryph = gen_query_slider("ph",10);
		$queryoficina = gen_query_slider("oficinas",9);
		$queryquinta = gen_query_slider("quintas",11);
		$queryfondo_comercio = gen_query_slider("fondo_comercios",6);
		$queryterreno = gen_query_slider("terrenos",12);
		$querydeptos = "SELECT c.id, (SELECT url FROM imagenesxinmueble WHERE fk_id_inmueble = c.id AND tipo_inmueble = 4 AND orden = 1) 'url', e.calle, e.altura, c.informacion_adicional, e.fk_id_ubicacion, c.fecha_publicacion, u.nombre 'locacion', (SELECT nombre FROM ubicaciones WHERE id = u.pertenece_a) 'region' FROM departamentos c, edificios e, ubicaciones u WHERE c.fk_id_edificio = e.id AND e.fk_id_ubicacion = u.id ORDER BY c.fecha_publicacion DESC;";

		$arr_campos = datosNecesariosSlider(1,$querycampo);
		$arr_casas = datosNecesariosSlider(2,$querycasa);
		$arr_cocheras = datosNecesariosSlider(3,$querycochera);
		$arr_deptos = datosNecesariosSlider(4,$querydeptos);
		$arr_fondo_comercios = datosNecesariosSlider(6,$queryfondo_comercio);
		$arr_galpones = datosNecesariosSlider(7,$querygalpon);
		$arr_locales = datosNecesariosSlider(8,$querylocal);
		$arr_oficinas = datosNecesariosSlider(9,$queryoficina);
		$arr_phs = datosNecesariosSlider(10,$queryph);
		$arr_quintas = datosNecesariosSlider(11,$queryquinta);
		$arr_terrenos = datosNecesariosSlider(12,$queryterreno);
		
		$arr_prop = array_merge_recursive($arr_campos,$arr_casas,$arr_cocheras,$arr_deptos,$arr_fondo_comercios,$arr_galpones,$arr_locales,$arr_oficinas,$arr_phs,$arr_quintas,$arr_terrenos);
		function cmp2($a, $b) {
		    if ($a["fecha_publicacion"] == $b["fecha_publicacion"]) {
		        return 0;
		    }
		    return ($a["fecha_publicacion"] > $b["fecha_publicacion"]) ? -1 : 1;
		}
		
		usort($arr_prop, "cmp2");
		
		return $arr_prop;
	}

	public function pisoDto($piso,$dto) {
		$pisoDto = "";
		if (strlen($piso) > 0 && $piso > 0) $pisoDto.= " - {$piso}°";
		if ($piso == 0 && $dto > 0) $pisoDto.= " - PB ";
		if (strlen($dto) > 0 && $dto > 0) $pisoDto.= $dto;
		return $pisoDto;
	}
}